using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using MyMvcApp.Models;

namespace MyMvcApp.Controllers;

public class BlogController : Controller
{
    // 简单参数传递 在一个叫Blog控制器中，定义一个叫Index的Action，并且传递一个int类型的值，id为变量名
    public IActionResult Index(int id)
    {
        return Content(id.ToString());
    }

    // 简单参数传递 在一个叫Blog控制器中，定义一个叫Index_2的Action，并且传递一个string类型的值，id为变量名
    public IActionResult Index_2(string id)
    {
        return Content(id.ToString());
    }

    // 简单参数传递 在一个叫Blog控制器中，定义一个叫Index_3的Action，并且传递一个string类型的值，name为变量名
    // http://localhost:5127/blog/index_3?name=1
    public ActionResult Index_3(string name)
    {
        return Content(name.ToString());
    }

    // 复杂参数传递 在一个叫Blog的控制器中，定义一个名为Create的Action，并且传递一个BlogCreateDto类型的值，blogCreateDto为变量名
    [HttpGet]
    public IActionResult Create()
    {
        return View();
    }


    [HttpPost]
    public IActionResult Create(BlogCreateDto blogCreateDto)
    {
        return Content($"标题: {blogCreateDto.Title}, 作者: {blogCreateDto.Author}, 内容: {blogCreateDto.Content}");
    }

    // 复杂参数传递 在一个叫Blog的控制器中，定义一个名为Create_1的Action，并且传递一个Products类型的值，productCreateDto为变量名
    [HttpGet]
    public IActionResult Create_1()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Create_1(Products productCreateDto)
    {
        return Content($"名称: {productCreateDto.Name}, 价格: {productCreateDto.Price}, 库存: {productCreateDto.Stock}");
    }

    // 复杂参数传递 在一个叫Blog的控制器中，定义一个名为Create_2的Action，并且传递一个Students类型的值，studentCreateDto为变量名
    [HttpGet]
    public IActionResult Create_2()
    {
        return View();
    }

    [HttpPost]
    public IActionResult Create_2(Students studentCreateDto)
    {
        string StuSex;
        if (studentCreateDto.Sex == true)
        {
            StuSex = "男";
        }
        else if ((studentCreateDto.Sex == false))
        {
            StuSex = "女";
        }
        else
        {
            StuSex = "Null";
        }
        return Content($"姓名: {studentCreateDto.Name}, 性别: {StuSex}, 年龄: {studentCreateDto.Age}");
    }
}